1. Field of the Invention
The present invention relates to information handling systems and more particularly to correcting system state changes within an information handing system before booting into an operating system.
2. Description of the Related Art
As the value and use of information continue to increase, individuals and businesses seek additional ways to process and store information. One option available to users is information handling systems. An information handling system generally processes, compiles, stores, and/or communicates information or data for business, personal, or other purposes thereby allowing users to take advantage of the value of the information. Because technology and information handling needs and requirements vary between different users or applications, information handling systems may also vary regarding what information is handled, how the information is handled, how much information is processed, stored, or communicated, and how quickly and efficiently the information may be processed, stored, or communicated. The variations in information handling systems allow for information handling systems to be general or configured for a specific user or specific use such as financial transaction processing, airline reservations, enterprise data storage, or global communications. In addition, information handling systems may include a variety of hardware and software components that may be configured to process, store, and communicate information and may include one or more computer systems, data storage systems, and networking systems.
Sometimes during the operation of an information handling system, system state changes can occur. Certain system state changes (e.g., changing the amount of installed memory, flashing the basic input output system (BIOS) to a different version, etc.) can cause operating system related system files (such as the hibernation file hiberfil.sys) to be corrupted or invalid. When a customer attempts to boots a system that has experienced this behavior, the customer might receive a blue screen condition (i.e., a condition in which the information handling system is locked up and cannot escape) or be asked in very cryptic language if they want to delete the corrupted system file and do a full boot. This situation can lead to a poor customer experience. In certain states, the customer may not even get an option to reboot the information handling system without performing a full operating system reinstall.
For example, a blue screen condition can occur within an Instant On enabled system in the MediaDirect partition when the amount of system memory is changed. MediaDirect image is always hibernated and if a user changes memory size without following proper steps and tries to boot into a hibernated image the hiberfil.sys file gets corrupted. Also for example, BIOS changes, such as updates to BIOS flash memory, may lead to system file corruption. Also for example, CMOS corruption caused by bad memory or a motherboard replacement can cause a locked condition. Also for example, switching a RAID configuration of the information handling system, such as from a RAID 1 configuration to a RAID 0 configuration using, e.g., an Intel Matrix Storage Manager (IMSM). Other examples of RAID configuration changes include switching from a RAID 0 configuration to a RAID 1 configuration, such as when a customer adds additional hard drives to the information handing system, switching from a RAID ON configuration to a Serial ATA configuration results in a change in the BIOS on a RAID enabled system, switching from a Serial ATA configuration to a RAID ON configuration results in a change in the BIOS on a RAID enabled system. Also for example, an NT operating system signature corruption or a master boot record (MBR) corruption such as when a customer adds a hard drive to the information handing system without initialization of the added hard drive can cause a locked condition. Also for example, disk signature corruption caused by MBR changes can result in a locked condition. Also for example, with a Linux fdisk utility, such as that found on the 7.x version of Linux, if a hard disk in a multi-disk configuration does not have a valid signature of AA55h in the last word of an MBR, the fdisk utility could fail when an attempt is made to use it. Also for example, when a system management server (SMS) pushes to update flash memory in BIOS a locked condition can occur. Also for example, a power interruption during system hibernation can cause a locked condition to occur. Also for example, corruption of the hiberfil.sys file can cause a locked condition to occur. FIG. 1, labeled Prior Art, shows a flow chart of the operation of an information handling system when exemplative system state changes occur.
Accordingly, it would be desirable to provide a mechanism via which system state changes can be detected and corrected automatically prior to a customer initiated boot. It would also be desirable for such a mechanism to be extensible to address newly added or discovered system state changes that result in a locked condition.